package com.huawang.mdesign.model.service.constant;

import com.huawang.business.constants.DiagramTagEnum;
import com.huawang.core.definition.mof.UMLDefinitionConstants;

import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;

/**
 * UAF相关常量名称
 */
public class UAFDefinitionConstants {

    private UAFDefinitionConstants() {
    }

    // UAF和DoDAF的视图，表，矩阵和追溯图的所有者id
    public static final Map<String, List<String>> DIAGRAM_OWNER_MAP = new HashMap<>(3);
    // 在UAF和DoDAF都通用的图
    public static final List<String> COMMON_DIAGRAM = new ArrayList<>(5);
    // 体系规范的根能创建的目录列表
    public static final Map<String, List<String>> SPECIFICATION_ROOT_PACKAGE_MAP = new HashMap<>();
    // UML规范的关系
    public static final List<String> UML_RELATIONSHIP = new ArrayList<>();

    public static final String UAF_PERSONAL_STATE_DESCRIPTION = "人事状态描述";

    // UAF的Operational在军事作战的时候的名称
    public static final String UAF_OPERATIONAL_LABEL_MIL_NAME = "UAF作战视图";

    // UAF调用行为动作的构造型
    public static final List<String> UAF_CALL_BEHAVIOR_ACTION_STEREOTYPES = Stream.of(UMLDefinitionConstants.UAF_OperationalActivityAction, UMLDefinitionConstants.UAF_FunctionAction, UMLDefinitionConstants.UAF_ServiceFunctionAction).collect(Collectors.toList());

    public static final String CV = "15990044094272";
    public static final String STR = "16360151047616";

    public static final String OV = "16057365354688";

    public static final String OPE = "16360188956224";

    public static final String DESIGN_PROFILE_MAP2DATASOURCE_FILEURL = "76550870813606592";

    public static final String DESIGN_PROFILE_MAP2DATASOURCE = "76550866208535168";

    public static final String OPERATIONAL_ACTION = "16139524292672";
    public static final String RESOURCE_ACTION = "16139526568640";
    public static final String SERVICE_ACTION = "16139526823680";
    public static final String SYSTEM_ACTION = "16139527028672";

    // UAF Map
    // 追溯图
    public static final String UAF_MAP_CAPABILITYBEHAVIORALMAP = "16437750171904";
    public static final String UAF_MAP_CAPABILITYSTRUCTURALMAP = "16437754405888";

    // UAF相关构造型
    public static final String UAF_COLOR_HOLDER ="70178201493642688";//存储颜色模型
    public static final String UAF_COLOR_HOLDER_R ="70178214360107904";//存储颜色模型的R属性
    public static final String UAF_COLOR_HOLDER_G ="70178216415923904";//存储颜色模型的G属性
    public static final String UAF_COLOR_HOLDER_B ="70178217997268736";//存储颜色模型的B属性
    public static final String UAF_COLOR_HOLDER_ALPHA ="70178218974559360";//存储颜色模型的ALPHA属性

    // UAF Diagram
    public static final String UAF_DIAGRAM_OV1_HIGHLEVELOPERATIONALCONCEPTGRAPHIC = "16061720510976";
    public static final String UAF_DIAGRAM_OV2_OPERATIONALRESOURCEFLOWINTERNALDESCRIPTION = "16061744116544";
    public static final String UAF_DIAGRAM_OV5_OPERATIONALACTIVITYMODEL = "16061803922880";
    public static final String UAF_DIAGRAM_OV6A_OPERATIONALRESOURCEPARAMETRIC = "16061823203968";
    public static final String UAF_DIAGRAM_OV6B_OPERATIONALSTATETRANSITIONDESCRIPTION = "16061848180352";
    public static final String UAF_DIAGRAM_OV6C_OPERATIONALEVENTTRACEDESCRIPTION = "16062399741760";

    public static final String UAF_DIAGRAM_SV1_SYSTEMSINTERFACEINTERNALDESCRIPTION = "16067949756672";
    public static final String UAF_DIAGRAM_SV2_SYSTEMSINTERNALRESOURCEFLOWDESCRIPTION = "16067963884800";
    public static final String UAF_DIAGRAM_SV4_SYSTEMSFUNCTIONALITYFLOWDESCRIPTION = "16067981428544";
    public static final String UAF_DIAGRAM_SV10A_SYSTEMSPARAMETRIC = "16068017744832";
    public static final String UAF_DIAGRAM_SV10B_OPERATIONALSTATETRANSITIONDESCRIPTION = "16068045462784";
    public static final String UAF_DIAGRAM_SV10C_OPERATIONALEVENTTRACEDESCRIPTION = "16068052001280";

    public static final String UAF_DIAGRAM_SVCV2_SERVICESRESOURCEFLOWINTERNALDESCRIPTION = "16068105188224";
    public static final String UAF_DIAGRAM_SVCV4_SERVICESFUNCTIONALITYFLOWDESCRIPTION = "16068124330112";
    public static final String UAF_DIAGRAM_SVCV10A_SERVICESPARAMETRIC = "16068134097344";
    public static final String UAF_DIAGRAM_SVCV10B_SERVICESSTATETRANSITIONDESCRIPTION = "16068143663744";
    public static final String UAF_DIAGRAM_SVCV10C_SERVICESEVENTTRACEDESCRIPTION = "16068150514304";

    public static final String UAF_DIAGRAM_STPM_STRATEGICPARAMETRIC = "77696133313997824";
    public static final String UAF_DIAGRAM_OPTX_OPERATIONALHIGHLEVELTAXONOMY = "16365311406336";
    public static final String UAF_DIAGRAM_OPCN_OPERATIONALINTERNALCONNECTIVITY = "16365325590720";
    public static final String UAF_DIAGRAM_OPPR_OPERATIONALPROCESSFLOW = "16365329895104";
    public static final String UAF_DIAGRAM_OPST_OPERATIONALSTATES = "16365336592256";
    public static final String UAF_DIAGRAM_OPSQ_OPERATIONALSEQUENCES = "16365339912000";
    public static final String UAF_DIAGRAM_OPPM_OPERATIONALPARAMETRIC = "16365346240256";
    public static final String UAF_DIAGRAM_SVCN_SERVICESINTERNALCONNECTIVITY = "16365368922112";
    public static final String UAF_DIAGRAM_SVPR_SERVICESPROCESSFLOW = "16365371915968";
    public static final String UAF_DIAGRAM_SVST_SERVICESSTATES = "16365377589376";
    public static final String UAF_DIAGRAM_SVSQ_SERVICESSEQUENCES = "16365380457536";
    public static final String UAF_DIAGRAM_SVPM_SERVICESPARAMETRIC = "16365384099904";
    public static final String UAF_DIAGRAM_PSCN_PERSONALINTERNALCONNECTIVITY = "16365422360064";
    public static final String UAF_DIAGRAM_PSPR_PERSONALPROCESSFLOW = "16365425043392";
    public static final String UAF_DIAGRAM_PSST_PERSONALSTATES = "16365430761472";
    public static final String UAF_DIAGRAM_PSSQ_PERSONNELSEQUENCES = "16365434515136";
    public static final String UAF_DIAGRAM_PSPM_PERSONALPARAMETRIC = "16365438202880";
    public static final String UAF_DIAGRAM_RSCN_RESOURCEINTERNALCONNECTIVITY = "16365477567936";
    public static final String UAF_DIAGRAM_RSPR_RESOURCESPROCESSFLOW = "16365484753600";
    public static final String UAF_DIAGRAM_RSST_RESOURCESSTATES = "16365481951808";
    public static final String UAF_DIAGRAM_RSPM_RESOURCESPARAMETRIC = "16365493500928";
    public static final String UAF_DIAGRAM_RSSQ_RESOURCESSEQUENCES = "16365490202304";
    public static final String UAF_DIAGRAM_SCCN_SECURITYINTERNALCONNECTIVITYOPERATIONAL = "16365533547456";
    public static final String UAF_DIAGRAM_SCCN_SECURITYINTERNALCONNECTIVITYRESOURCE = "16365538748224";
    public static final String UAF_DIAGRAM_SCPR_SECURITYPROCESS = "16365541867584";
    public static final String UAF_DIAGRAM_SCPM_SECURITYPARAMETRICOPERATIONAL = "16365555484352";
    public static final String UAF_DIAGRAM_SCPM_SECURITYPARAMETRICRESOURCE = "16365557670080";
    public static final String UAF_DIAGRAM_PJPR_PROJECTSPROCESSFLOW = "16365623260096";

    public static final String UAF_DIAGRAM_OV1_HIGHLEVELDIAGRAMUPDM = "16554648760512";
    public static final String UAF_DIAGRAM_SV2_SYSTEMSINTERNALRESOURCEFLOWDESCRIPTIONUPDM = "16554678950080";

    // UAF Table
    public static final String UAF_TABLE_CV5_CAPABILITY_TO_ORGANIZATIONAL_DEVELOPMENT_TABLE = "16254730440448";
    public static final String UAF_TABLE_CV5_CAPABILITY_TO_ORGANIZATIONAL_DEVELOPMENT_TYPICAL_TABLE = "16254738395136";
    public static final String UAF_TABLE_OV3_OPERATIONALRESOURCEFLOWTABLE = "16143223561664";
    public static final String UAF_TABLE_OV3_ROLEBASEDOPERATIONALRESOURCEFLOWTABLE = "16173248068160";
    public static final String UAF_TABLE_OV6A_OPERATIONALRULESMODELTABLE = "16254901606720";
    public static final String UAF_TABLE_SV6_SYSTEMSRESOURCEFLOWTABLE = "16254960437504";
    public static final String UAF_TABLE_SV6_ROLEBASEDSYSTEMSRESOURCEFLOWTABLE = "16254953081088";
    public static final String UAF_TABLE_SV7_SYSTEMSACTUALMEASURESTABLE = "16144697539904";
    public static final String UAF_TABLE_SV7_SYSTEMSTYPICALMEASURESTABLE = "16144707227200";
    public static final String UAF_TABLE_SV7_SYSTEMS_TYPICAL_MEASURES_HIERARCHICAL_TABLE = "16173231171968";
    public static final String UAF_TABLE_SV7_SYSTEMS_ACTUAL_MEASURES_HIERARCHICAL_TABLE = "16173234412672";
    public static final String UAF_TABLE_SV10A_SYSTEMSRULESMODEL = "16209900723520";
    public static final String UAF_TABLE_SVCV10A_SERVICESRULESMODELTABLE = "16259513398528";
    public static final String UAF_TABLE_SVCV6SERVICESRESOURCEFLOWMATRIX = "16259421299904";
    public static final String UAF_TABLE_SVCV6ROLEBASEDSERVICESRESOURCEFLOWMATRIX = "16259455131008";
    public static final String UAF_TABLE_SVCV7SERVICESACTUALMEASURESTABLE = "16259471300032";
    public static final String UAF_TABLE_SVCV7SERVICESTYPICALMEASURESTABLE = "16259476794176";
    public static final String UAF_TABLE_SVCV7SERVICESACTUALMEASURESHIERARCHICALTABLE = "16259474723776";
    public static final String UAF_TABLE_SVCV7SERVICESTYPICALMEASURESHIERARCHICALTABLE = "16259478555712";
    public static final String UAF_TABLE_AV2INTEGRATEDDICTIONARY = "16259047072448";
    public static final String UAF_TABLE_STDV1STANDARDSPROFILETABLE = "16259137219264";
    public static final String UAF_TABLE_SV9SYSTEMSTECHNOLOGYANDSKILLSFORECASTTABLE = "16254970981504";
    public static final String UAF_TABLE_SVCV9SERVICESTECHNOLOGYANDSKILLSFORECASTTABLE = "16259504094592";
    public static final String UAF_TABLE_STDV2STANDARDSFORECASTTABLE = "16259305476992";
    public static final String UAF_TABLE_AMIFDICTIONARY = "16443649547008";
    public static final String UAF_TABLE_PMMEACTUALMEASUREMENTS = "16448909217728";
    public static final String UAF_TABLE_PMMEACTUALMEASUREMENTSTABLE = "16448909375232";
    public static final String UAF_TABLE_PMMETYPICALMEASUREMENTS = "16448909622528";
    public static final String UAF_TABLE_PMMETYPICALMEASUREMENTSTABLE = "16448909749056";
    public static final String UAF_TABLE_PMMESTRATEGICACTUALMEASUREMENTS = "16448926388352";
    public static final String UAF_TABLE_PMMEOPERATIONALACTUALMEASUREMENTS = "16448944905280";
    public static final String UAF_TABLE_PMMESERVICESACTUALMEASUREMENTS = "16448965706944";
    public static final String UAF_TABLE_PMMEPERSONNELACTUALMEASUREMENTS = "16448983401152";
    public static final String UAF_TABLE_PMMERESOURCESACTUALMEASUREMENTS = "16448999955008";
    public static final String UAF_TABLE_PMMESECURITYACTUALMEASUREMENTS = "16449050684800";
    public static final String UAF_TABLE_PMMEPROJECTSACTUALMEASUREMENTS = "16449070421824";
    public static final String UAF_TABLE_PMMESTANDARDSACTUALMEASUREMENTS = "16449094073664";
    public static final String UAF_TABLE_PMMEACTUALRESOURCESACTUALMEASUREMENTS = "16449104147712";
    public static final String UAF_TABLE_PMMESTRATEGICACTUALMEASUREMENTSTABLE = "16448926509888";
    public static final String UAF_TABLE_PMMEOPERATIONALACTUALMEASUREMENTSTABLE = "16448945102720";
    public static final String UAF_TABLE_PMMESERVICESACTUALMEASUREMENTSTABLE = "16448965935744";
    public static final String UAF_TABLE_PMMEPERSONNELACTUALMEASUREMENTSTABLE = "16448983538240";
    public static final String UAF_TABLE_PMMERESOURCESACTUALMEASUREMENTSTABLE = "16449000168320";
    public static final String UAF_TABLE_PMMESECURITYACTUALMEASUREMENTSTABLE = "16449050803136";
    public static final String UAF_TABLE_PMMEPROJECTSACTUALMEASUREMENTSTABLE = "16449070554944";
    public static final String UAF_TABLE_PMMESTANDARDSACTUALMEASUREMENTSTABLE = "16449094213376";
    public static final String UAF_TABLE_PMMEACTUALRESOURCESACTUALMEASUREMENTSTABLE = "16449104284928";
    public static final String UAF_TABLE_PMMESTRATEGICTYPICALMEASUREMENTS = "16448926630912";
    public static final String UAF_TABLE_PMMESTRATEGICTYPICALMEASUREMENTSTABLE = "16448926778112";
    public static final String UAF_TABLE_PMMEOPERATIONALTYPICALMEASUREMENTS = "16448945237056";
    public static final String UAF_TABLE_PMMEOPERATIONALTYPICALMEASUREMENTSTABLE = "16448945432128";
    public static final String UAF_TABLE_PMMESERVICESTYPICALMEASUREMENTS = "16448966118528";
    public static final String UAF_TABLE_PMMESERVICESTYPICALMEASUREMENTSTABLE = "16448966241664";
    public static final String UAF_TABLE_PMMEPERSONNELTYPICALMEASUREMENTS = "16448983705728";
    public static final String UAF_TABLE_PMMEPERSONNELTYPICALMEASUREMENTSTABLE = "16448983857408";
    public static final String UAF_TABLE_PMMERESOURCESTYPICALMEASUREMENTS = "16449000311296";
    public static final String UAF_TABLE_PMMERESOURCESTYPICALMEASUREMENTSTABLE = "16449000458688";
    public static final String UAF_TABLE_PMMESECURITYTYPICALMEASUREMENTS = "16449050936384";
    public static final String UAF_TABLE_PMMESECURITYTYPICALMEASUREMENTSTABLE = "16449051081280";
    public static final String UAF_TABLE_PMMEPROJECTSTYPICALMEASUREMENTS = "16449070710016";
    public static final String UAF_TABLE_PMMEPROJECTSTYPICALMEASUREMENTSTABLE = "16449070849984";
    public static final String UAF_TABLE_PMMESTANDARDSTYPICALMEASUREMENTS = "16449094344192";
    public static final String UAF_TABLE_PMMESTANDARDSTYPICALMEASUREMENTSTABLE = "16449094488384";
    public static final String UAF_TABLE_PMMEACTUALRESOURCESTYPICALMEASUREMENTS = "16449104437760";
    public static final String UAF_TABLE_PMMEACTUALRESOURCESTYPICALMEASUREMENTSTABLE = "16449104592896";
    public static final String UAF_TABLE_DATEANDTIMESUMMARYTABLE = "16448909492864";
    public static final String UAF_TABLE_STTXSTRATEGICTAXONOMYTABLE = "16448925993216";
    public static final String UAF_TABLE_OPTXOPERATIONALTAXONOMYTABLE = "16448944461696";
    public static final String UAF_TABLE_SVTXSERVICESTAXONOMYTABLE = "16448965332224";
    public static final String UAF_TABLE_PSTXPERSONNELTAXONOMYTABLE = "16536787668160";
    public static final String UAF_TABLE_RSTXRESOURCESTAXONOMYTABLE = "16536787433920";
    public static final String UAF_TABLE_SCTXSECURITYTAXONOMYTABLE = "16449050415168";
    public static final String UAF_TABLE_SDTXSTANDARDSTAXONOMYTABLE = "16449093920000";
    public static final String UAF_TABLE_PJTXPROJECTSTAXONOMYTABLE = "16449070280960";
    public static final String UAF_TABLE_OPCNOPERATIONALCONNECTIVITYTABLE = "16448944635328";
    public static final String UAF_TABLE_OPCNOPERATIONALROLEBASEDCONNECTIVITYTABLE = "16448944775744";
    public static final String UAF_TABLE_PSCNPERSONNELCONNECTIVITYTABLE = "16448983114240";
    public static final String UAF_TABLE_PSCNPERSONNELROLEBASEDCONNECTIVITYTABLE = "16448983261504";
    public static final String UAF_TABLE_RSCNRESOURCESROLEBASEDCONNECTIVITYTABLE = "16448999822912";
    public static final String UAF_TABLE_RSCNRESOURCESCONNECTIVITYTABLE = "16448999673472";
    public static final String UAF_TABLE_SCCNSECURITYCONNECTIVITYTABLE = "16553313737920";
    public static final String UAF_TABLE_SCCNSECURITYROLEBASEDCONNECTIVITYTABLE = "16449050541696";
    public static final String UAF_TABLE_STTXSTRATEGICACTUALSTRATEGICPHASETAXONOMYTABLE = "16448926215040";
    public static final String UAF_TABLE_STRM_STRATEGIC_TYPICAL_DEPLOYMENT = "16454722726592";
    public static final String UAF_TABLE_STRM_STRATEGIC_ACTUAL_DEPLOYMENT = "16454722898048";
    public static final String UAF_TABLE_PSRMPERSONNELFORECAST = "16448984252928";
    public static final String UAF_TABLE_RSRMRESOURCESFORECAST = "16449000842624";
    public static final String UAF_TABLE_SDRMSTANDARDSROADMAP = "16458772027648";
    public static final String UAF_TABLE_SVCNSERVICESCONNECTIVITYTABLE = "16448965468224";
    public static final String UAF_TABLE_SVCNSERVICESROLEBASEDCONNECTIVITYTABLE = "16448965585536";
    public static final String UAF_TABLE_SDTRSTANDARDSTRACEABILITY = "16458778837888";
    public static final String UAF_TABLE_OPCTOPERATIONALCONSTRAINTS = "16448945571712";
    public static final String UAF_TABLE_PSCTPERSONNELCONSTRAINTS = "16448984020864";
    public static final String UAF_TABLE_RSCTRESOURCESCONSTRAINTS = "16449000599424";
    public static final String UAF_TABLE_SVCTSERVICESCONSTRAINTS = "16448966380928";
    public static final String UAF_TABLE_ACTUALPROJECTMILESTONESUMMARYTABLE = "16449071002624";
    public static final String UAF_TABLE_STCTSTRATEGIC_CONSTRAINTS = "77655311808422016";
    public static final String UAF_TABLE_SCCTSECURITY_CONSTRAINTS = "16713693205568";

    // UAF Matrix
    public static final String UAF_MATRIX_CV6_CAPABILITYTOOPERATIONALACTIVITIESMATRIX = "16254864413632";
    public static final String UAF_MATRIX_CV7_CAPABILITYTOSERVICESMATRIX = "16254889209536";
    public static final String UAF_MATRIX_SV5A_OPERATIONALACTIVITYTOSYSTEMSFUNCTIONTRACEABILITYMATRIX = "16254926587072";
    public static final String UAF_MATRIX_SV5B_OPERATIONALACTIVITYTOSYSTEMSTRACEABILITYMATRIX = "16254937873664";
    public static final String UAF_MATRIX_SVCV3A_SYSTEMSSERVICESMATRIX = "16259373305536";
    public static final String UAF_MATRIX_SVCV3B_SERVICESSERVICESMATRIX = "16259413755392";
    public static final String UAF_MATRIX_PV1_RESPONSIBILITYMATRIX = "16259114913280";
    public static final String UAF_MATRIX_SV3_SYSTEMSSYSTEMSMATRIX = "16254917666176";

    public static final String UAF_MATRIX_STCN_STRATEGICCONNECTIVITYMATRIX = "16458360896384";
    public static final String UAF_MATRIX_STTR_ACTUALSTRATEGICPHASESTOCAPABILITIESMAPPINGMATRIX = "16458495636928";
    public static final String UAF_MATRIX_OPTR_OPERATIONALACTIVITIESTOCAPABILITIESMAPPINGMATRIX = "16458547518592";
    public static final String UAF_MATRIX_PJTR_ACTUALORGANIZATIONALRESOURCESTOACTUALPROJECTSMAPPINGMATRIX = "16458749763584";
    public static final String UAF_MATRIX_PJ_TRPROJECTACTIVITIESTOCAPABILITIESMAPPINGMATRIX = "16458763020352";
    public static final String UAF_MATRIX_OPTR_OPERATIONALPERFORMERSTOCAPABILITIESMAPPINGMATRIX = "16458547722112";
    public static final String UAF_MATRIX_RSCN_RESOURCESCONNECTIVITYMATRIX = "16458667222848";
    public static final String UAF_MATRIX_RSTR_FUNCTIONSTOOPERATIONALACTIVITIESMAPPINGMATRIX = "16458691222592";
    public static final String UAF_MATRIX_RESOURCESTOCAPABILITIESMAPPINGMATRIX = "16458691375104";
    public static final String UAF_MATRIX_RSTR_RESOURCESTOOPERATIONALACTIVITIESMAPPINGMATRIX = "16458691548096";
    public static final String UAF_MATRIX_SCTR_RISKSTOASSETSMAPPINGMATRIX = "16458728208896";
    public static final String UAF_MATRIX_SCTR_SECURITYCONTROLSTORISKSMAPPINGMATRIX = "16458728676224";
    public static final String UAF_MATRIX_SVCN_SERVICESCONNECTIVITYMATRIX = "16458569076032";
    public static final String UAF_MATRIX_SVTR_SERVICESTOCAPABILITIESMAPPINGMATRIX = "16458584808192";
    public static final String UAF_MATRIX_SVTR_SERVICESTOOPERATIONALACTIVITIESMAPPINGMATRIX = "16458584915008";
    public static final String UAF_MATRIX_ARTX_ACTUALRESOURCESTAXONOMYMATRIX = "16458786260416";
    public static final String UAF_MATRIX_IMPLEMENTATIONMATRIX = "16520153305024";
    public static final String UAF_MATRIX_SVCV5SERVICESTOSERVICECONTRACTSMATRIX = "77153506183302400";
    public static final String UAF_MATRIX_SVCV5SERVICESTOOPERATIONALACTIVITYTRACEABILITYMATRIX = "77153466689473536";
    public static final String  UAF_MATRIX_PV3PROJECTTOCAPABILITYMAPPINGMATRIX= "16259122185984";
    public static final String UAF_MATRIX_PM_EM_ENVIROMENT = "77655165579757568";

    // UAF Gantt
    // 甘特图构造型
    public static final String UAF_GRANTT_STRM_ACTUALSTRATEGICPHASESGANTTCHART = "16458485369472";
    public static final String UAF_GRANTT_STRM_STRATEGICPHASING = "16458456390848";
    public static final String UAF_GRANTT_PSRM_PERSONNELAVAILABILITYGANTTCHART = "16458635778432";
    public static final String UAF_GRANTT_PSRMPERSONNELEVOLUTION = "16458639859328";
    public static final String UAF_GRANTT_RSRMPERSONNELEVOLUTION = "16458675361728";
    public static final String UAF_GRANTT_SVRMSERVICESROADMAP = "16458576933312";
    public static final String UAF_GRANTT_PJRMPROJECTSROADMAP = "16458742854208";
    public static final String UAF_GRANTT_CV3GANNTCHART = "16790080392768";
    public static final String UAF_GRANTT_SV8GANNTCHART = "16790085950592";
    public static final String UAF_GRANTT_SVCV8GANNTCHART = "16790089057472";
    public static final String UAF_GRANTT_PV2GANNTCHART = "16790092769984";

    // UAF Extra Stereotypes
    // OV-1 conceptRole
    public static final String UAF_OV1_ACTUALCONDITIONCONCEPTROLE = "16072690628992";
    public static final String UAF_OV1_ACTUALENVIRONMENTCONCEPTROLE = "16072695576448";
    public static final String UAF_OV1_ACTUALLOCATIONCONCEPTROLE = "16072696433536";
    public static final String UAF_OV1_CAPABILITYCONFIGURATIONCONCEPTROLE = "16072712120256";
    public static final String UAF_OV1_CONDITIONCONCEPTROLE = "16072711307200";
    public static final String UAF_OV1_ENVIRONMENTCONCEPTROLE = "16072710505344";
    public static final String UAF_OV1_LOCATIONCONCEPTROLE = "16072709655040";
    public static final String UAF_OV1_NATURALRESOURCECONCEPTROLE = "16072708889088";
    public static final String UAF_OV1_OPERATIONALCONCEPTROLE = "16072707907200";
    public static final String UAF_OV1_ORGANIZATIONCONCEPTROLE = "16072706852416";
    public static final String UAF_OV1_PERSONCONCEPTROLE = "16072705885056";
    public static final String UAF_OV1_POSTCONCEPTROLE = "16072705013568";
    public static final String UAF_OV1_RESOURCEARTIFACTCONCEPTROLE = "16072703466432";
    public static final String UAF_OV1_SOFTWARECONCEPTROLE = "16072702789824";
    public static final String UAF_OV1_TECHNOLOGYCONCEPTROLE = "16072702067584";

    public static final String UAF_RESOURCEASSOCIATION = "16183809000064";
    public static final String UAF_SERVICEASSOCIATION = "16183810711104";
    public static final String UAF_OPERATIONALASSOCIATION = "16205774208896";

    // uaf表自定义列
    public static final String ACTUALMEASURESTABLEPROPERTYSET = "ActualMeasuresTable-PropertySet";
    public static final String ACTUALMEASURESTABLEACTUALPROPERTYSET = "ActualMeasuresTable-ActualPropertySet";
    public static final String ACTUALMEASURESTABLEPERFORMANCEREQUIREMENT = "ActualMeasuresTable-PerformanceRequirement";
    public static final String ACTUAL_MEASURES_TABLE_MEASURE = "ActualMeasuresTable-Measure";
    public static final String ACTUAL_MEASURES_TABLE_METRIC = "ActualMeasuresTable-Metric";
    public static final String ACTUALMEASURESTABLESTARTDATE = "ActualMeasuresTable-StartDate";
    public static final String ACTUALMEASURESTABLEENDDATE = "ActualMeasuresTable-EndDate";
    public static final String FLOWTABLEREALIZEDBY = "FlowTable-RealizedBy";
    public static final String ROLEBASEDFLOWTABLESENDINGROLE = "RolebasedFlowTable-SendingRole";
    public static final String ROLEBASEDFLOWTABLERECEIVINGROLE = "RolebasedFlowTable-ReceivingRole";
    public static final String ROLEBASEDFLOWTABLECONNECTORNAME = "RolebasedFlowTable-ConnectorName";
    public static final String TYPICALMEASURESTABLEMEASUREMENTS = "TypicalMeasuresTable-Measurements";
    public static final String DICTIONARYDEFINITION = "Dictionary-Definition";
    public static final String DICTIONARYSAMEAS = "Dictionary-SameAs";
    public static final String DICTIONARYUAFTYPE = "Dictionary-UAFType";
    public static final String DICTIONARYUMLMETATYPE = "Dictionary-UMLMetatype";
    public static final String DICTIONARYGENERICTYPE = "Dictionary-GenericType";
    public static final String DICTIONARYSPECIFICTYPE = "Dictionary-SpecificType";
    public static final String DICTIONARYBELONGSTOAVIEW = "Dictionary-BelongstoaView";
    public static final String ISPROVIDEDBYOPERATIONALACTIVITY = "Taxonomy-IsProvidedByOperationalActivity";
    public static final String ISEXHIBITEDBYRESOURCEPERFORMER = "Taxonomy-IsExhibitedByResourcePerformer";
    public static final String ISEXHIBITEDBYOPERATIONALPERFORMER = "Taxonomy-IsExhibitedByOperationalPerformer";
    public static final String ISCOMPOSEDOFCAPABILITIES = "Taxonomy-IsComposedOfCapabilities";
    public static final String OWNEDDIAGRAM = "Taxonomy-OwnedDiagram";
    public static final String OPERATIONALARCHITECTUREOFSTRATEGICPHASE = "StrategyStructure-OperationalArchitectureOfStrategicPhase";
    public static final String RESOURCEARCHITECTUREOFSTRATEGICPHASE = "StrategyStructure-ResourceArchitectureOfStrategicPhase";
    public static final String PHASESCAPABILITY = "StrategyStructure-PhasesCapability";
    public static final String OPERATIONALEXCHANGE = "Taxonomy-OperationalExchange";

    public static final String COMMON_TABLE_CELL_KEY = "ActualResourcesDeployment";

    public static final String SEQ = "_seq";

    public static final Set<String> CUSTOM_TABLE_COLUMNS = Stream.of(
            ACTUALMEASURESTABLEPROPERTYSET,
            ACTUALMEASURESTABLEACTUALPROPERTYSET,
            ACTUALMEASURESTABLEPERFORMANCEREQUIREMENT,
            ACTUAL_MEASURES_TABLE_MEASURE,
            ACTUAL_MEASURES_TABLE_METRIC,
            ACTUALMEASURESTABLESTARTDATE,
            ACTUALMEASURESTABLEENDDATE,
            FLOWTABLEREALIZEDBY,
            ROLEBASEDFLOWTABLESENDINGROLE,
            ROLEBASEDFLOWTABLERECEIVINGROLE,
            ROLEBASEDFLOWTABLECONNECTORNAME,
            TYPICALMEASURESTABLEMEASUREMENTS,
            DICTIONARYDEFINITION,
            DICTIONARYSAMEAS,
            DICTIONARYUAFTYPE,
            DICTIONARYUMLMETATYPE,
            DICTIONARYGENERICTYPE,
            DICTIONARYSPECIFICTYPE,
            DICTIONARYBELONGSTOAVIEW,
            ISPROVIDEDBYOPERATIONALACTIVITY,
            ISEXHIBITEDBYRESOURCEPERFORMER,
            ISEXHIBITEDBYOPERATIONALPERFORMER,
            ISCOMPOSEDOFCAPABILITIES,
            OWNEDDIAGRAM,
            OPERATIONALARCHITECTUREOFSTRATEGICPHASE,
            RESOURCEARCHITECTUREOFSTRATEGICPHASE,
            PHASESCAPABILITY,
            OPERATIONALEXCHANGE
    ).collect(Collectors.toSet());

    static {
        UML_RELATIONSHIP.add(UMLDefinitionConstants.Dependency);
        UML_RELATIONSHIP.add(UMLDefinitionConstants.Generalization);
        UML_RELATIONSHIP.add(UMLDefinitionConstants.Usage);

        COMMON_DIAGRAM.add(UAF_MAP_CAPABILITYBEHAVIORALMAP);//能力行为追溯图
        COMMON_DIAGRAM.add(UAF_MAP_CAPABILITYSTRUCTURALMAP);//能力结构追溯图
        COMMON_DIAGRAM.add(UMLDefinitionConstants.TableAndMatrix_GenericTable);//通用表
        COMMON_DIAGRAM.add(UMLDefinitionConstants.TableAndMatrix_InstanceTable);//实例表
        COMMON_DIAGRAM.add(UMLDefinitionConstants.TableAndMatrix_DiagramMatrix);//通用矩阵
        COMMON_DIAGRAM.add(UMLDefinitionConstants.TableAndMatrix_DiagramMap);//通用追溯表
        COMMON_DIAGRAM.add(UMLDefinitionConstants.ProfileDiagram);//扩展图
        COMMON_DIAGRAM.add(UMLDefinitionConstants.ReliabilityProfile_CustomizationOfFMEA_CustomizationOfFaultTreeDiagram);
        COMMON_DIAGRAM.add(UMLDefinitionConstants.ReliabilityProfile_CustomizationOfFMEA_FaultTreeDiagram);
        COMMON_DIAGRAM.add(UMLDefinitionConstants.ReliabilityProfile_606Profile_FMECATable);


        List<String> dodafOwnerIds = new ArrayList<>(1);
        dodafOwnerIds.add("15990111414464");
        DIAGRAM_OWNER_MAP.put(ProjectSpecificationEnum.DODAF.value(), dodafOwnerIds);
        List<String> uafOwnerIds = new ArrayList<>(1);
        uafOwnerIds.add("15990154510848");
        DIAGRAM_OWNER_MAP.put(ProjectSpecificationEnum.UAF.value(), uafOwnerIds);
        List<String> updmOwnerIds = new ArrayList<>(2);
        updmOwnerIds.add("15990111414464");
        updmOwnerIds.add("16554051138176");
        DIAGRAM_OWNER_MAP.put(ProjectSpecificationEnum.UPDM.value(), updmOwnerIds);

        List<String> dodaf = new ArrayList<>(8);
        dodaf.add("16057383102208");//All Views Viewpoint
        dodaf.add(CV);//Capability Viewpoint
        dodaf.add("16057392219840");//Data and Information Viewpoint
        dodaf.add(OV);//Operational Viewpoint
        dodaf.add("16057417017984");//Systems Viewpoint
        dodaf.add("16057709470720");//Standards Viewpoint
        dodaf.add("16057709769408");//Project Viewpoint
        dodaf.add("16057468917120");//Services Viewpoint
        SPECIFICATION_ROOT_PACKAGE_MAP.put(ProjectSpecificationEnum.DODAF.value(), dodaf);
        List<String> uaf = new ArrayList<>(11);
        uaf.add("16360103416960");//Architecture Management
        uaf.add("16360144409024");//Summary & Overview
        uaf.add(STR);//Strategy
        uaf.add(OPE);//Operational
        uaf.add("16360210837184");//Services
        uaf.add("16360246779520");//Personnel
        uaf.add("16360276425152");//Resources
        uaf.add("16360310629440");//Security
        uaf.add("16360374317440");//Projects
        uaf.add("16360399581312");//Standards
        uaf.add("16360362693120");//Actual Resources
        SPECIFICATION_ROOT_PACKAGE_MAP.put(ProjectSpecificationEnum.UAF.value(), uaf);
        List<String> updm = new ArrayList<>(5);
        updm.add("16554221569408");//All View
        updm.add("16554227616640");//Strategic View
        updm.add("16554233281472");//Operational View
        updm.add("16554239232896");//Service Oriented View
        updm.add("16554255791616");//Systems View
        SPECIFICATION_ROOT_PACKAGE_MAP.put(ProjectSpecificationEnum.UPDM.value(), updm);
    }

    /**
     * 从对标软件来看，下面几个模型的创建只能从项目模型实例下选择对应的模型，不能直接在实际项目下创建
     * Slot-DefiningFeature
     */
    public static final Set<String> INVALID_OWNER = Stream.of(
            UMLDefinitionConstants.UAF_ActualProjectMilestoneRole,
            UMLDefinitionConstants.UAF_ActualProjectRole,
            UMLDefinitionConstants.UAF_ActualResourceRole
    ).collect(Collectors.toSet());

    /**
     * ReqIF
     */
    public static final String TOOL = "M-Arch";
    public static final String REQIF_PREFIX = "Arch-ReqIF";
    public static final String EXCEL_DATA_SOURCE = "DataSource";

    //视图排序
    public static List<String> ORDER_OF_DIAGRAM_TAG = Arrays.asList(UAFDiagramTagEnum.AV.value(), UAFDiagramTagEnum.CV.value(),
            UAFDiagramTagEnum.OV.value(), UAFDiagramTagEnum.SPV.value(), UAFDiagramTagEnum.SVCV.value(),
            UAFDiagramTagEnum.DIV.value(), UAFDiagramTagEnum.PV.value(), UAFDiagramTagEnum.STDV.value(),
            UAFDiagramTagEnum.ST.value(), UAFDiagramTagEnum.OP.value(), UAFDiagramTagEnum.RS.value(),
            UAFDiagramTagEnum.SV.value(), UAFDiagramTagEnum.PS.value(), UAFDiagramTagEnum.SC.value(),
            UAFDiagramTagEnum.PJ.value(), UAFDiagramTagEnum.SD.value(), UAFDiagramTagEnum.AC.value(),
            UAFDiagramTagEnum.AM.value(), UAFDiagramTagEnum.SM.value(),
            DiagramTagEnum.BASIC_DIAG.value(), DiagramTagEnum.TABLE.value(),
            DiagramTagEnum.MATRIX.value(), DiagramTagEnum.RELATION_DIAG.value(), DiagramTagEnum.SIMULATION.value(),
            DiagramTagEnum.PROFILE_DIAG.value(), DiagramTagEnum.OTHER.value());
}
